layui.use(['form', 'element'], function () {
    let  $ = layui.jquery,
        element = layui.element;
    //websocket对象
    let websocket = null;
    //判断当前浏览器是否支持WebSocket
    if ('WebSocket' in window) {
        websocket = new WebSocket("ws://"+sessionStorage.getItem('hostName')+"/websocket/logging");
    } else {
        console.error("不支持WebSocket");
    }

    //连接发生错误的回调方法
    websocket.onerror = function (e) {
        console.error("WebSocket连接发生错误",e);
    };
    //连接成功建立的回调方法
    websocket.onopen = function () {
        console.log("WebSocket连接成功")
    };
    //接收到消息的回调方法
    websocket.onmessage = function (event) {
        //追加
        if (event.data) {
            const msg = JSON.parse(event.data);
            const data = msg.data;
            if (msg.cmd === "auto_code_speed") {
                // 更新表格名称
                $('#tableName').text(data.tableName);
                // 更新注释
                $('#tableComment').text(data.tableComment);
                // 更新进度条
                const progressBar = $('.layui-progress-bar');
                const speed = data.speed;

                // 设置进度条的宽度
                progressBar.css('width', speed);
                // 更新进度条的百分比显示
                progressBar.attr('lay-percent', speed);
                // 重新渲染进度条
                element.render('progress');

                // 根据是否有错误信息改变进度条颜色
                if (data.errorMsg) {
                    progressBar.removeClass('layui-btn-normal').addClass('layui-bg-red'); // 错误时进度条变为红色
                } else {
                    progressBar.removeClass('layui-bg-red').addClass('layui-btn-normal'); // 没有错误时进度条为蓝色
                }
            }
        }
    };
    //连接关闭的回调方法
    websocket.onclose = function () {
        console.log("WebSocket连接关闭")
    };
})